package com.caifu.service;

import com.caifu.pojo.SysUser;
import com.caifu.pojo.YlBasicData;
import com.caifu.pojo.YlPensionStatistic;
import net.sf.json.JSONObject;

import java.util.List;

public interface IStatisticsDataService {
    /**
    * 
    * 功能描述：查询养老机构概述信息
    * 
    * @Param pensionNo 养老机构编号
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/24 14:53
    */
    JSONObject queryPensionBasicInfo() throws Exception;
    /**
    * 
    * 功能描述：查询床位统计信息
    * 
    * @Param pensionNo 养老机构编号
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/23 18:32
    */
    JSONObject queryBedStatisticInfo(String pensionNo) throws Exception;
    /**
    * 
    * 功能描述：查询楼层统计信息
    * 
    * @Param   buildingNo 楼层编号
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/25 16:01
    */
    JSONObject queryBuildingInfoData(String buildingNo) throws Exception;
    /**
    * 
    * 功能描述：查询老人基本统计信息
    * 
    * @Param pensionNo 养老机构编号
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/24 16:57
    */
    JSONObject queryOldManBasicStatisticData(String pensionNo) throws Exception;

    /**
     *
     * 功能描述：按月查询当前月份过生日的老人信息
     *
     * @Param pensionNo 养老机构编号
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/11/25 10:49
     */
    JSONObject queryBirthInfo(String pensionNo) throws Exception;
    /**
    * 
    * 功能描述：查询健康档案预警数据统计
    *
    * @Param pension 养老机构编号  maxSize 最大条数
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/25 13:47
    */
    JSONObject queryHealthyArchiveWarningData(String pensionNo,int maxSize) throws Exception;
    /**
    * 
    * 功能描述：查询用户护理等级预警数据
    * 
    * @Param pensionNo 养老机构编号   maxSize最大条数
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/25 14:43
    */
    JSONObject queryUserNursingWarningDate(String pensionNo,int maxSize) throws Exception;
    /**
     *
     * 功能描述：查询用户长护险等级预警数据
     *
     * @Param pensionNo 养老机构编号   maxSize最大条数
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/11/25 14:43
     */
    JSONObject queryUserAssessmentWarningDate(String pensionNo,int maxSize) throws Exception;
    /**
     *
     * 功能描述：查询用户合同预警数据
     *
     * @Param pensionNo 养老机构编号   maxSize最大条数
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/11/25 14:43
     */
    JSONObject queryUserContractWarningDate(String pensionNo,int maxSize) throws Exception;
    /**
    * 
    * 功能描述：查询养老机构账务统计信息
    * 
    * @Param pensionNo 养老机构编号 year 年份   month 月份
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/25 18:36
    */
    JSONObject queryBillStatisticDateInfo(String pensionNo,String year,String month) throws Exception;
    /**
    * 
    * 功能描述：查询月缴费记录信息
    * 
    * @Param pensionNo 养老机构编号  month 月份
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/26 14:35
    */
    JSONObject queryPaymentInfoByMonth(String pensionNo,String year,String month) throws Exception;
    /**
    * 
    * 功能描述：根据年份查询缴费记录统计信息
    * 
    * @Param pensionNo 养老机构编号  year 年份
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/26 14:36
    */
    JSONObject queryPaymentInfoByYear(String pensionNo,String year) throws Exception;
    /**
    * 
    * 功能描述：查询欠费的 老人信息了表
    * 
    * @Param pensionNo 老人编号
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/11/26 15:32
    */
    JSONObject queryOwingPayUserInfo(String pensionNo,int maxSize) throws Exception;
    /**
    * 
    * 功能描述：根据类型查询养老机构信息
    * 
    * @Param type 类型 101
    * @Return      
    * @Exception   
    * @Author  GZ
    * @Date   2020/12/10 17:24
    */
    List<YlPensionStatistic> queryPensionStatisticInfoByType(String type) throws Exception;
    /**
     *
     * 功能描述：保存或修改基础数据信息
     *
     * @Param basicData 基础统计数据
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/12/16 15:33
     */
    JSONObject saveOrUpdateBasicDateInfo(YlBasicData basicData) throws Exception;
    /**
     *
     * 功能描述：查询基础统计数据信息
     *
     * @Param id 统计编号
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/12/16 15:41
     */
    YlBasicData queryBasicDataInfo() throws Exception;
}
